<?php

require_once __DIR__ . '/AlunoGeradorCSV.php';
require_once __DIR__ . '/DataUtil.php';

/**
 * Classe para geração de CSV para 
 *
 * @author Hyzandey
 */
class AlunoEJAGeradorCSV extends AlunoGeradorCSV{
    
    const SEGMENTO = 'Segmento';
    const SEMESTRE = 'Semestre Letivo';
    
    protected function getHeaderArrayRow(){
    	return array(
    			self::ESCOLA_ONLINE,
    			self::ANO_SEMESTRE,
    			self::COD_ALUNO,
    			self::NOME_ALUNO,
    			self::DT_NASCIMENTO,
    			self::NOME_MAE,
    			self::SEXO,
    			self::CRE,
    			self::COD_ESCOLA,
    			self::NOME_ESCOLA,
    			self::SEGMENTO,
    			self::SEMESTRE, 
    			self::TURNO,
    			self::NUM_CHAMADA,
    			self::CEP,
    			self::LOGRADOURO,
    			self::ENDERECO,
    			self::TEL_MAE,
    			self::CIDADE,
    			self::UF,
    	);
    }
    
    protected function getAlunoArrayRow($aluno){
    	return array(
    			$aluno->getIsOnline() ? self::ONLINE_SIM : self::ONLINE_NAO,
    			$aluno->getAnoSem(),
    			$aluno->getCodigo(),
    			$aluno->getNome(),
    			$aluno->getDtNascimento(),
    			$aluno->getNomeMae(),
    			$aluno->getIsMasculino() ? self::MASCULINO : self::FEMININO,
    			$aluno->getCre(),
    			$aluno->getCodUnidade(),
    			$aluno->getNomeUnidade(),
    			$aluno->getSegmento(),
    			$aluno->getSemestre(), 
    			$aluno->getCodTurno(),
    			$aluno->getNumChamada(),
    			$aluno->getCep(),
    			$aluno->getLogradouro(),
    			$aluno->getEndereco(),
    			$aluno->getFoneMae(),
    			$aluno->getNomeCidade(),
    			$aluno->getUfCidade()
    	);
    }

    /**
     * Personaliza a linha do CSV conforme informações do aluno dado
     * 
     * @param string[] $arrayValores Array de Informações sobre o Aluno.
     * @param AlunoEJA $aluno Aluno a ter sua linha do CSV personalizada.
     */
    protected function personalizaLinha(&$arrayValores, $aluno) {
        DataUtil::insereDepoisValor($arrayValores, $aluno->getNomeUnidade()
                , $aluno->getSegmento());
        DataUtil::insereDepoisValor($arrayValores, $aluno->getSegmento()
                , $aluno->getSemestre());
    }
}

?>
